import lombok.Setter;

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int radius = sc.nextInt();
        int height = sc.nextInt();
        sc.close();

        Circle circle = new Circle(radius);
        Cone<Circle> cone = new Cone<>(circle);//创建一个（圆）锥对象
        cone.setHeight(height);
        System.out.printf("%.2f\n", cone.computerVolume());

    }
}

/**
 * cone是指椎体的意思，高确定但是底面积却是不确定的。
 */
class Cone<E> {

    @Setter
    private int height;

    private final E bottom;

    public Cone(E bottom) {
        this.bottom = bottom;
    }

    public double computerVolume() {
        if (bottom instanceof Circle circle) {
            return circle.getBottomArea() * height / 3.0;
        }
        return 0;
    }
}

/**
 * circle表示的是圆的意思，即这个椎体的底面是一个圆。
 */
class Circle {

    private final int radius;

    Circle(int radius) {
        this.radius = radius;
    }

    public double getBottomArea() {
        return Math.PI * Math.pow(radius, 2);
    }
}